//
//  NSObject+Runtime.h
//  runtime
//
//  Created by yang on 2018/1/8.
//  Copyright © 2018年 YYY. All rights reserved.
//

#import <Foundation/Foundation.h>

@protocol ModelDelegate <NSObject>

@optional
// 提供一个协议，只要准备这个协议的类，都能把数组中的字典转模型
//用在三级数组转换
+ (NSDictionary *)arrayContainModelClass;

@end

@interface NSObject (Runtime)

@property(nonatomic,copy)NSString *name;

//获取类的属性列表
+ (NSArray *)propertiesList;

//获取类的方法列表
+ (NSArray *)methodsList;

//获取类的ivar成员变量列表
+ (NSArray *)ivarsList;

//获取协议列表
+ (NSArray *)protocolList;

// 字典转模型
+ (instancetype)objectWithDict:(NSDictionary *)dict;

@end
